package com.bdq.user.application.service;

import com.bdq.user.application.model.cmd.LoginCmd;
import com.bdq.user.application.model.cmd.SendLoginVerifyCodeCmd;
import com.bdq.user.application.model.cmd.UserUpdateCmd;
import com.bdq.user.application.model.cmd.ViewRegionLevelUpdateCmd;
import com.bdq.user.application.model.dto.LoginAppDTO;

/**
 * @author malei
 * @date 2024-05-03 17:17
 */
public interface UserAppCmdService {

    /**
     * 发送登录验证码
     *
     * @param cmd
     * @return
     */
    void sendLoginVerifyCode(SendLoginVerifyCodeCmd cmd);

    /**
     * 登录
     *
     * @param cmd
     * @return
     */
    LoginAppDTO login(LoginCmd cmd);

    /**
     * 登出
     *
     * @return
     */
    Boolean logout();

    /**
     * 更新资料
     *
     * @param cmd
     * @return
     */
    Boolean userUpdate(UserUpdateCmd cmd);

    /**
     * 浏览区域级别更新
     *
     * @param cmd
     * @return
     */
    Boolean updateViewRegionLevel(ViewRegionLevelUpdateCmd cmd);
}
